#ifndef DUMPER_H_INCLUDED
#define DUMPER_H_INCLUDED

#include <iostream>
#include <map>
#include <vector>
#include <fstream>

#include "SDL.h"
#include "Layer_List.h"
#include "Layer.h"
#include "Debug.h"
#include "ImageList.h"
#include "Image_Wrapper.h"

using namespace std;

typedef map<int, vector<int> > MAP_IMAGE;
typedef pair<int, vector<int> > PAIR_IMAGE;
typedef vector<int> VECTOR_SPRITES;

class Dumper
{
    ofstream out;
    ofstream outConstants;
    Layer_List &m_layer_list;
    void insert(MAP_IMAGE &mymaplist, const int imageId, int spriteId);
    public:
    Dumper();
    ~Dumper();

    void collect_and_dump();
    void dump_image_list(MAP_IMAGE &mymaplist);
    void dump_sprite_list(MAP_IMAGE &mymaplist);
};

#endif // DUMPER_H_INCLUDED
